描述
输入数组长度 n 输入数组      a[1...n] 输入查找个数m 输入查找数字b[1...m]   输出 YES or NO  查找有则YES 否则NO 。
输入描述：
输入有多组数据。 每组输入n，然后输入n个整数，再输入m，然后再输入m个整数（1<=m,n<=100）。
输出描述：
如果在n个数组中输出YES否则输出NO。
示例1
输入：
5
1 5 2 4 3
3
2 5 6

输出：
YES
YES
NO

//自带二分查找，从数组的begin位置到end-1位置二分查找，找到返回该数字的地址，不存在则返回end。
//通过返回的地址减去起始地址begin,得到找到数字在数组中的下标。
//lower_bound( begin,end,num)：查找第一个大于或等于num的数字，
//upper_bound( begin,end,num)：查找第一个大于num的数字
//也可用散列表
#include<bits/stdc++.h>

using namespace std;

const int MAXN=105;
int arr[MAXN];

int main(){
    int n,m,x;
    while(scanf("%d",&n)!=EOF){
        for(int i=0;i<n;i++){
            scanf("%d",&arr[i]);
        }
        scanf("%d",&m);
        sort(arr,arr+n);
        for(int i=0;i<m;i++){
            scanf("%d",&x);
            int position=lower_bound(arr,arr+n,x)-arr;
            if(position!=n&&arr[position]==x){
                printf("YES\n");
            }else{
                printf("NO\n");
            }
        }
    }
    return 0;
}